home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / etc / bash_completion.d / mplayer < prev    next >
Encoding:
Text File  |  2010-11-16  |  9.6 KB  |  255 lines

  1. # mplayer(1) completion
  2.  
  3. have mplayer && {
  4. _mplayer_options_list()
  5. {
  6.     cur=${cur%\\}
  7.     COMPREPLY=( $( compgen -W "$( $1 $2 help 2>/dev/null | \
  8.         sed -e '1,/^Available/d' | awk '{print $1}' | \
  9.         sed -e 's/:$//' -e 's/^'${2#-}'$//' -e 's/<.*//' )" -- "$cur" ) )
  10. }
  11.  
  12. _mplayer()
  13. {
  14.     local cmd cur prev skinsdir IFS=$' \t\n' i j k=0
  15.  
  16.     COMPREPLY=()
  17.     cmd=${COMP_WORDS[0]}
  18.     _get_comp_words_by_ref cur prev
  19.  
  20.     case $prev in
  21.         -[av][cfo]|-[av]fm|-vop|-fstype|-demuxer|-o[av]c|-of|-profile)
  22.             _mplayer_options_list $cmd $prev
  23.             return 0
  24.             ;;
  25.         -audiofile)
  26.             _filedir '@(mp3|MP3|mpg|MPG|ogg|OGG|w?(a)v|W?(A)V|mid|MID|flac|FLAC|mka|MKA|ape|APE)'
  27.             return 0
  28.             ;;
  29.         -font)
  30.             _filedir '@(desc|ttf)'
  31.             return 0
  32.             ;;
  33.         -sub)
  34.             _filedir '@(srt|SRT|sub|SUB|txt|TXT|utf|UTF|rar|RAR|mpsub|smi|js|ssa|SSA|ass|ASS)'
  35.             return 0
  36.             ;;
  37.         -vobsub)
  38.             _filedir '@(idx|IDX|ifo|IFO|sub|SUB)'
  39.             IFS=$'\t\n'
  40.             COMPREPLY=( $( for i in "${COMPREPLY[@]}"; do
  41.                         if [[ -f $i && -r $i ]]; then
  42.                             printf '%s\n' ${i%.*}
  43.                         else
  44.                             printf '%s\n' $i
  45.                         fi
  46.                        done ) )
  47.             IFS=$' \t\n'
  48.             return 0
  49.             ;;
  50.         -ifo)
  51.             _filedir '@(ifo|IFO)'
  52.             return 0
  53.             ;;
  54.         -cuefile)
  55.             _filedir '@(bin|BIN|cue|CUE)'
  56.             return 0
  57.             ;;
  58.         -skin)
  59.             # if you don't have installed mplayer in /usr you
  60.             # may want to set the MPLAYER_SKINS_DIR global variable
  61.             if [ -n "$MPLAYER_SKINS_DIR" ]; then
  62.                 skinsdir=$MPLAYER_SKINS_DIR
  63.             else
  64.                 skinsdir=/usr/share/mplayer/Skin
  65.             fi
  66.  
  67.             IFS=$'\t\n'
  68.             for i in ~/.mplayer/Skin $skinsdir; do
  69.                 if [[ -d $i && -r $i ]]; then
  70.                     for j in $( compgen -d $i/$cur ); do
  71.                         COMPREPLY[$k]=${j#$i/}
  72.                         k=$((++k))
  73.                     done
  74.                 fi
  75.             done
  76.             IFS=$' \t\n'
  77.             return 0
  78.             ;;
  79.         -cdrom-device)
  80.             _cd_devices
  81.             _dvd_devices
  82.             return 0
  83.             ;;
  84.         -dvd-device)
  85.             _dvd_devices
  86.             return 0
  87.             ;;
  88.         -mixer|-dvdauth|-fb|-zrdev)
  89.             cur=${cur:=/dev/}
  90.             _filedir
  91.             return 0
  92.             ;;
  93.         -edl|-edlout|-lircconf|-menu-cfg|-playlist|-csslib|-dumpfile| \
  94.         -subfile|-vobsub|-aofile|-fbmodeconfig|-include|-o|-dvdkey| \
  95.         -passlogfile)
  96.             _filedir
  97.             return 0
  98.             ;;
  99.         -autoq|-autosync|-loop|-menu-root|-speed|-sstep|-aid|-alang| \
  100.         -audo-demuxer|-sub-demuxer|-demuxer|-bandwidth|-cache|-chapter| \
  101.         -dvd|-dvdangle|-fps|-frames|-mc|-passwd|-user|-sb|-srate|-ss|-vcd| \
  102.         -vi|-vid|-vivo|-ffactor|-sid|-slang|-spualign|-spuaa|-spugauss| \
  103.         -vobsubid|-delay|-bpp|-brightness|-contrast|-dfbopts|-display| \
  104.         -fbmode|-geometry|-guiwid|-hue|-icelayer|-screen[wh]|-wid| \
  105.         -monitoraspect|-monitor-dotclock|-monitor-[hv]freq|-panscan| \
  106.         -saturation|-xineramascreen|-zrcrop|-zrnorm|-zrquality| \
  107.         -zr[xy]doff|-zr[vh]dec|-aspect|-pp|-x|-y|-xy|-z|-stereo| \
  108.         -audio-density|-audio-delay|-audio-preload|-endpos|-osdlevel| \
  109.         -ffourcc|-sws|-channels|-skiplimit|-format|-ofps|-aadriver| \
  110.         -aaosdcolor|-aasubcolor|-vobsubout|-vobsuboutid|-vobsuboutindex| \
  111.         -sub-bg-alpha|-sub-bg-color|-sub-cp|-sub-delay|-sub-fps|-sub-pos| \
  112.         -sub-align|-sub-width|-subfont-blur|-subfont-outline| \
  113.         -subfont-autoscale|-subfont-encoding|-subfont-osd-scale| \
  114.         -subfont-osd-text)
  115.             return 0
  116.             ;;
  117.         -lavdopts)
  118.             COMPREPLY=( $( compgen -W 'ec er= bug= idct= gray' -- "$cur" ) )
  119.             return 0
  120.             ;;
  121.         -lavcopts)
  122.             COMPREPLY=( $( compgen -W 'vcodec= vqmin= vqscale= vqmax= mbqmin= \
  123.                 mbqmax= vqdiff= vmax_b_frames= vme= vhq v4mv keyint= \
  124.                 vb_strategy= vpass= aspect= vbitrate= vratetol= vrc_maxrate= \
  125.                 vrc_minrate= vrc_buf_size= vb_qfactor= vi_qfactor= vb_qoffset= \
  126.                 vi_qoffset= vqblur= vqcomp= vrc_eq= vrc_override= \
  127.                 vrc_init_cplx= vqsquish= vlelim= vcelim= vstrict= vdpart \
  128.                 vpsize= gray vfdct= idct= lumi_mask= dark_mask= tcplx_mask= \
  129.                 scplx_mask= naq ildct format= pred qpel precmp= cmp= subcmp= \
  130.                 predia= dia= trell last_pred= preme= subq= psnr mpeg_quant aic \
  131.                 umv' -- "$cur" ) )
  132.             return 0
  133.             ;;
  134.         -ssf)
  135.             COMPREPLY=( $( compgen -W 'lgb= cgb= ls= cs= chs= cvs=' \
  136.                 -- "$cur" ) )
  137.             return 0
  138.             ;;
  139.         -jpeg)
  140.             COMPREPLY=( $( compgen -W 'noprogressive progressive nobaseline \
  141.                 baseline optimize= smooth= quality= outdir=' -- "$cur" ) )
  142.             return 0
  143.             ;;
  144.         -xvidopts)
  145.             COMPREPLY=( $( compgen -W 'dr2 nodr2' -- "$cur" ) )
  146.             return 0
  147.             ;;
  148.         -xvidencopts)
  149.             COMPREPLY=( $( compgen -W 'pass= bitrate= fixed_quant= me_quality= \
  150.                 4mv rc_reaction_delay_factor= rc_averaging_period= rc_buffer= \
  151.                 quant_range= min_key_interval= max_key_interval= mpeg_quant \
  152.                 mod_quant lumi_mask hintedme hintfile debug keyframe_boost= \
  153.                 kfthreshold= kfreduction=' -- "$cur" ) )
  154.             return 0
  155.             ;;
  156.         -divx4opts)
  157.             COMPREPLY=( $( compgen -W 'br= key= deinterlace q= min_quant= \
  158.                 max_quant= rc_period= rc_reaction_period= crispness= \
  159.                 rc_reaction_ratio= pass= vbrpass= help' -- "$cur" ) )
  160.             return 0
  161.             ;;
  162.         -info)
  163.             COMPREPLY=( $( compgen -W 'name= artist= genre= subject= \
  164.                 copyright= srcform= comment= help' -- "$cur" ) )
  165.             return 0
  166.             ;;
  167.         -lameopts)
  168.             COMPREPLY=( $( compgen -W 'vbr= abr cbr br= q= aq= ratio= vol= \
  169.                 mode= padding= fast preset= help' -- "$cur" ) )
  170.             return 0
  171.             ;;
  172.         -rawaudio)
  173.             COMPREPLY=( $( compgen -W 'on channels= rate= samplesize= format=' \
  174.                 -- "$cur" ) )
  175.             return 0
  176.             ;;
  177.         -rawvideo)
  178.             COMPREPLY=( $( compgen -W 'on fps= sqcif qcif cif 4cif pal ntsc w= \
  179.                 h= y420 yv12 yuy2 y8 format= size=' -- "$cur" ) )
  180.             return 0
  181.             ;;
  182.         -aop)
  183.             COMPREPLY=( $( compgen -W 'list= delay= format= fout= volume= mul= \
  184.                 softclip' -- "$cur" ) )
  185.             return 0
  186.             ;;
  187.         -dxr2)
  188.             COMPREPLY=( $( compgen -W 'ar-mode= iec958-encoded iec958-decoded \
  189.                 mute ucode= 75ire bw color interlaced macrovision= norm= \
  190.                 square-pixel ccir601-pixel cr-left= cr-right= cr-top= cr-bot= \
  191.                 ck-rmin= ck-gmin= ck-bmin= ck-rmax= ck-gmax= ck-bmax= ck-r= \
  192.                 ck-g= ck-b= ignore-cache= ol-osd= olh-cor= olw-cor= olx-cor= \
  193.                 oly-cor= overlay overlay-ratio= update-cache' -- "$cur" ))
  194.             return 0
  195.             ;;
  196.         -tv)
  197.             COMPREPLY=( $( compgen -W 'on noaudio driver= device= input= freq= \
  198.                 outfmt= width= height= buffersize= norm= channel= chanlist= \
  199.                 audiorate= forceaudio alsa amode= forcechan= adevice= audioid= \
  200.                 volume= bass= treble= balance= fps= channels= immediatemode=' \
  201.                 -- "$cur" ) )
  202.             return 0
  203.             ;;
  204.         -mf)
  205.             COMPREPLY=( $( compgen -W 'on w= h= fps= type=' -- "$cur" ) )
  206.             return 0
  207.             ;;
  208.         -cdda)
  209.             COMPREPLY=( $( compgen -W 'speed= paranoia= generic-dev= \
  210.                 sector-size= overlap= toc-bias toc-offset= skip noskip' \ 
  211.                 -- "$cur" ) )
  212.             return 0
  213.             ;;
  214.         -input)
  215.             COMPREPLY=( $( compgen -W 'conf= ar-delay ar-rate keylist cmdlist \
  216.                 js-dev file' -- "$cur" ) )
  217.             return 0
  218.             ;;
  219.         -af)
  220.             COMPREPLY=( $( compgen -W 'resample resample= channels channels= \
  221.                 format format= volume volume= delay delay= pan pan= sub sub= \
  222.                 surround surround=' -- "$cur" ) )
  223.             return 0
  224.             ;;
  225.         -af-adv)
  226.             COMPREPLY=( $( compgen -W 'force= list=' -- "$cur" ) )
  227.             return 0
  228.             ;;
  229.     esac
  230.  
  231.     case $cur in
  232.         -*)
  233.             COMPREPLY=( $( compgen -W '$( $cmd -list-options 2>/dev/null | \
  234.                 sed -ne '1,/^[[:space:]]*Name/d' \
  235.                     -e "s/^[[:space:]]*/-/" -e "s/[[:space:]:].*//" \
  236.                     -e "/^-\(Total\|.*\*\)\{0,1\}$/!p" )' -- "$cur" ) )
  237.             ;;
  238.         *)
  239.             _filedir '@(mp?(e)g|MP?(E)G|wm[av]|WM[AV]|avi|AVI|asf|ASF|vob|VOB|bin|BIN|dat|DAT|vcd|VCD|ps|PS|pes|PES|fl[iv]|FL[IV]|fxm|FXM|viv|VIV|rm?(j)|RM?(J)|ra?(m)|RA?(M)|yuv|YUV|mov|MOV|qt|QT|mp[234]|MP[234]|m4[av]|M4[AV]|og[gmavx]|OG[GMAVX]|w?(a)v|W?(A)V|dump|DUMP|mk[av]|MK[AV]|m4a|M4A|aac|AAC|m[24]v|M[24]V|dv|DV|rmvb|RMVB|mid|MID|t[ps]|T[PS]|3g[p2]|mpc|MPC|flac|FLAC|vro|VRO|divx|DIVX|aif?(f)|AIF?(F)|m2ts|M2TS|vdr|VDR|xvid|XVID|ape|APE)'
  240.             ;;
  241.     esac
  242.  
  243.     return 0
  244. }
  245. complete -o filenames -F _mplayer mplayer mencoder gmplayer kplayer
  246. }
  247.  
  248. # Local variables:
  249. # mode: shell-script
  250. # sh-basic-offset: 4
  251. # sh-indent-comment: t
  252. # indent-tabs-mode: nil
  253. # End:
  254. # ex: ts=4 sw=4 et filetype=sh
  255.